%%BeginResource: procset sep_ops %%Version: 4.0 1 %%Copyright: Copyright 1987-1999 Adobe Systems Incorporated. All Rights Reserved. %%Title: Support for Separations in Level 1, following the conventions of Tech Note 5044 userdict /sep_ops 50 dict dup begin put /bdef {bind def} bind def /xdef {exch def} bdef /colorimagebuffer { 0 1 2 index length 1 sub { dup 2 index exch get 255 exch sub 2 index 3 1 roll put } for } bdef /addprocs { [ 3 1 roll /exec load dup 3 1 roll ] cvx } bdef /L1? { systemdict /languagelevel known { systemdict /languagelevel get 2 lt }{ true } ifelse } bdef /colorexists { statusdict /processcolors known { statusdict /processcolors get exec }{ /deviceinfo where { pop deviceinfo /Colors known { deviceinfo /Colors get statusdict /processcolors { deviceinfo /Colors known { deviceinfo /Colors get }{ 1 } ifelse } put }{ 1 } ifelse }{ 1 } ifelse } ifelse 1 gt } bdef /colorplate colorexists { 0 } { 5 } ifelse def /negativecolorplate false def /setcmykcolor where { pop gsave 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub 4 {4 copy} repeat grestore 1 dict begin /foureq { 4 index eq 8 1 roll 4 index eq 8 1 roll 4 index eq 8 1 roll 4 index eq 8 1 roll pop pop pop pop and and and } def 1 0 0 0 foureq {/colorplate 1 store} if 0 1 0 0 foureq {/colorplate 2 store} if 0 0 1 0 foureq {/colorplate 3 store} if 0 0 0 1 foureq {/colorplate 4 store} if 0 0 0 0 foureq {/colorplate 6 store} if end } if 0 systemdict /currenttransfer get exec exec 1 systemdict /currenttransfer get exec exec 2 copy eq { /colorplate 6 store pop /negativecolorplate exch 0.5 lt store } { gt /negativecolorplate exch store } ifelse /findcmykcustomcolor where { pop } { /findcmykcustomcolor { [ 6 1 roll ] readonly } bdef } ifelse /setoverprint where { pop }{ /setoverprint { pop } bdef } ifelse /currentoverprint where { pop }{ /currentoverprint { false } bdef } ifelse /setcustomcolor where { pop }{ L1? { /setcustomcolor { exch aload pop pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } bdef }{ /setcustomcolor { exch [ exch /Separation exch dup 4 get exch /DeviceCMYK exch 0 4 getinterval [ exch /dup load exch cvx {mul exch dup} /forall load /pop load dup] cvx ] setcolorspace setcolor } bdef } ifelse } ifelse /ik 0 def /iy 0 def /im 0 def /ic 0 def /imagetint { ic .3 mul im .59 mul iy .11 mul ik add add add dup 1 gt {pop 1} if } bdef /setcmykcolor where { pop }{ /setcmykcolor { /ik xdef /iy xdef /im xdef /ic xdef imagetint 1 exch sub setgray } bdef } ifelse /customcolorimage where { pop }{ L1? { /customcolorimage{ gsave colorexists { aload pop pop /ik xdef /iy xdef /im xdef /ic xdef currentcolortransfer {ik mul ik sub 1 add} addprocs 4 1 roll {iy mul iy sub 1 add} addprocs 4 1 roll {im mul im sub 1 add} addprocs 4 1 roll {ic mul ic sub 1 add} addprocs 4 1 roll setcolortransfer /magentabuf 0 string def /yellowbuf 0 string def /blackbuf 0 string def { colorimagebuffer dup length magentabuf length ne { dup length dup dup /magentabuf exch string def /yellowbuf exch string def /blackbuf exch string def } if dup magentabuf copy yellowbuf copy blackbuf copy pop } addprocs {magentabuf}{yellowbuf}{blackbuf} true 4 colorimage }{ aload pop pop /ik xdef /iy xdef /im xdef /ic xdef /tint imagetint def currenttransfer {tint mul 1 tint sub add} addprocs settransfer image } ifelse grestore } bdef }{ /customcolorimage { gsave [ exch /Separation exch dup 4 get exch /DeviceCMYK exch 0 4 getinterval [ exch /dup load exch cvx {mul exch dup} /forall load /pop load dup] cvx ] setcolorspace 10 dict begin /ImageType 1 def /DataSource exch def /ImageMatrix exch def /BitsPerComponent exch def /Height exch def /Width exch def /Decode [1 0] def currentdict end image grestore } bdef } ifelse } ifelse /setseparationgray where { pop }{ L1? { /setseparationgray { 1 exch sub dup dup dup setcmykcolor } bdef }{ /setseparationgray { [/Separation /All /DeviceCMYK {dup dup dup}] setcolorspace 1 exch sub setcolor } bdef } ifelse } ifelse /separationimage where { pop } { /separationimage { gsave 1 1 1 1 (All) findcmykcustomcolor customcolorimage grestore } bdef } ifelse currentdict readonly pop end %%EndResource